Header compression/decompression apparatus and header compression/decompression method

ABSTRACT

A header compression/decompression apparatus that improves the throughput of an overall multilayer protocol stack at a network node. In this apparatus, an encoding section  106  compresses multilayer header information included in a protocol data unit on a multilayer protocol stack  101 . A session context ID manager  112  generates a session context ID  401  which is formed by integrating information on compression of multilayer header information by the encoding section  106  and, for example, information for identifying a scheme for compressing multilayer header information.

TECHNICAL FIELD

The present invention relates to a header compression/decompressionapparatus and header compression/decompression method.

BACKGROUND ART

In some of the existing compression of protocol data unit (PDU), primaryimportance is given to compression of a data format in a single layer.One such technology is the Internet protocol (IP) header compressionwhere the emphasis is on the compression of specific protocol layers.

Compression of header information according to prior art is centered oncompression of Internet protocol stack addresses. Compressible headersinclude TCP, UDP, IPv4 and IPv6 base header and extension header (e.g.,see “IP Header Compression” (Network Working Group Request for CommentsNo.2507, 1999)). For TCP packets, the Van additional mechanisms whichimprove the efficiency of VJ header compression (Van Jacobsoncompression) over lossy links are also described. For non-TCP packets,compression slow-start and periodic refreshes minimize a period duringwhich a packet is discarded due to a loss of a header that would causeits context to be changed. There are hooks for adding header compressionschemes on top of UDP, e.g., compression of RTP headers.

Header compression relies on many fields being constant or changingseldomly in consecutive packets belonging to the same packet stream.Fields which do not change among packets need not be transmitted at all.Fields which often change with small and/or predictable values, forexample, TCP sequence numbers can be encoded by incrementing the valueby 1 at a time, and therefore it is possible to significantly reduce thenumber of bits necessary for these fields. Fields which frequently orrandomly change, for example, checksums or authentication data need tobe transmitted within every header.

A general principle of header compression is to occasionally send apacket including a full header. Compressed headers which aresubsequently sent reference the context established by the full header.Furthermore, the compressed header may also contain incremental changesto the context. This header compression scheme does not require that allpackets in the same stream pass over the compressed link. However, in aTCP stream, the difference among subsequent headers can become moreirregular and the compression rate may decrease. The corresponding TCPdata and acknowledgment packets need not traverse the link in oppositedirections, either.

This header compression scheme is useful on first-hop links or last-hoplinks as well as links in the middle of the network. When many (severalhundreds of) packet streams traverse the link, a phenomenon that couldbe called CID thrashing could occur. In this case, headers seldom can bematched with an existing context and need to be sent withoutcompression, that is, as full headers. It is possible to use techniquessuch as hysteresis to ensure the packet streams giving the highestcompression rate maintain their context. It is highly possible that suchtechniques are more likely to be required in the middle of the network.

DISCLOSURE OF INVENTION

All networks have many protocol stack layers being implemented in eachnetwork node. Each protocol stack layer provides specific layerinformation such as address, port number, packet control data and datathat protects the integrity making the packet more resilient to errorduring transmissions. In many cases, such information is duplicated overa certain period of time with regard to exchanging of packet databetween protocol stack entities responsible for transmitting, receivingand connecting network nodes. The present invention eliminatesirrelevance and redundancy in data packets that pass through more thanone protocol stacks and between transmitting and receiving networknodes.

To support legacy multilayer protocol stack of network nodes, it becomesincreasingly necessary for header compression to be deployed in reality.The present invention provides an apparatus and method capable ofdecoding and encoding an arbitrary number of layers of protocol stackwhich allows compressed header information to be supported on legacynetwork node. This is done without additionally changing the protocolstack.

Most wireless networks support network data transmission using packetsfor connectionless sessions. Increasing the possibility of a data packetsuccessfully reaching the destination requires the data packet to befragmented. Fragmentation of the data packet produces great overheadbecause the fragmentation involves duplication of header information.The present invention allows header information for data transfer offragmented data packet transmission session to enable headercompression.

In a wireless network, especially the IEEE802.11-based network,inter-frame time period is used between data packets in the wirelessmedium. This inter-frame period requires a considerable amount of timeand bandwidth over a certain period of time, especially when there islarge volume data exchange between two stations. The present inventionprovides an apparatus and method for reducing the inter-frame period.Furthermore, the present invention reduces a bandwidth to be consumed onthe inter-frame period in data exchange between two stations during along period of time.

The present invention enables two legacy network nodes without theheader compression technique implemented on it's protocol stack toenable header compression by providing appropriate interfaces such thatlegacy control software can use header compression. Interfaces areprovided on the control plane as well as the data plane to allow legacydata packets to continue to be used for data exchange between networknodes.

That is, it is an object of the present invention to provide a headercompression/decompression apparatus and header compression/decompressionmethod capable of improving the throughput of the entire multilayerprotocol stack at network nodes.

An embodiment of the present invention solves the above describedproblems by allowing header compression to be used for exchanging ofdata packets between legacy network nodes and between network nodesincluding a new multilayer protocol stack without totally changing theprotocol stack. For this purpose, one mode of the present invention usesa section that provides a multilayer protocol stack header informationtranscoder, a section that encodes and decodes header information so asto realize exchanges of low bit rate header information, a section thatprovides interfaces on the control plane and data plane of a legacynetwork protocol stack respectively so as to use header informationcompression, a section that starts a session for header compression, asection that compresses header information during a data session inwhich data is generally divided at wireless media, a section thatreduces an inter-frame time period during data packet transmission atwireless media, a section that compresses header information of datapackets from more than one protocol stack layer, a section that detectsa data packet including compressed header information for a multilayerprotocol stack layer, and a section for decoding compressed headerinformation for the multilayer protocol stack.

Furthermore, the embodiment of the present invention uses an apparatusand mechanism provided by the multilayer protocol stack headerinformation transcoder to eliminate redundancy and irrelevance of headerinformation encapsulated in a data packet exchanged between two networknodes. The apparatus according to the embodiment of the presentinvention can perform control by adding two interfaces to the controlplane and data plane for controlling between a layer control entity andprotocol stack layer and exchanging data packet information, performingcompression and decompression of header information. This apparatusperforms a header compression session between a transmission node and aplurality of receiving network nodes by exchanging an appropriate framefirst. When a control frame for indicating the end and beginning ofcompressed header information is lost, another control frame isexchanged to also indicate an update of header information whichshortens a period necessary for error recovery. An encoding section ofthe transcoder not only performs a session carried out for headerinformation compression but also eliminates redundant information andduplicate information. The header information is decompressed by adecoding section of the transcoder. The control information is sent tothe transcoder by a protocol layer management entity and it is possibleto control and specify the number of protocol layers participating inheader information compression. Data packets transferred betweenprotocol layers requiring exchanges of header information are alsointercepted and sent to a transcoder subunit for subsequent processing.Processing carried out in the transcoder includes encoding, decoding,registration and deletion of header compression sessions.

Using the present invention eliminates redundancy and irrelevance ofdata packet header information and improves the throughput of payloadsat different layers of a protocol stack. In short, the present inventionimproves the throughput and reduces consumption of an overhead bit rate,which can be an expensive commodity if transmission is carried out overwireless media. The present invention provides an apparatus and methodwhich allow the multilayer protocol stack to use header compression.This reduces the overall overhead bit rate and improves the overallthroughput for network nodes. The present invention further allows alegacy protocol stack and network nodes to use header compressionwithout modification of the control mechanism of the existing protocolstack.

An aspect of the invention may be achieved by a header compressionapparatus that is used with a node apparatus to transmit a protocol dataunit on a multilayer protocol stack. The header compression apparatusincludes a compression section that compresses each of a plurality ofheader information, which are included in the protocol data unit andcorrespond to a plurality of layers of the multilayer protocol stackrespectively, using at least one of a plurality of compression schemes.A generation section obtains concatenated compression scheme informationindicating how the plurality of header information are each compressedby the compression section, by generating and concatenating compressionscheme information for each of the plurality of layers. The generationsection generates identification information that represents theconcatenated compression scheme information using a single uniqueexpression or number.

Additionally, an aspect of the invention may be achieved by a headerdecompression apparatus that is used with a node apparatus that receivesa protocol data unit on a multilayer protocol stack. The headerdecompression apparatus includes an acquisition section that acquiresidentification information, representing concatenated compression schemeinformation, using a single unique expression or number. Theconcatenated compression scheme information indicates how a plurality ofheader information, which are included in the protocol data unit andcorrespond respectively to a plurality of layers of the multilayerprotocol stack, are each compressed. The concatenated compression schemeinformation is obtained by gathering and concatenating compressionscheme information for each of the plurality of layers. A decompressionsection decompresses each of the plurality of header information basedon the identification information acquired by the acquisition sectionusing at least one of a plurality of compression schemes.

An aspect of the invention may also be achieved by a header compressionmethod implemented upon transmission of a protocol data unit on amultilayer protocol stack. According to this method, each of a pluralityof header information included in the protocol data unit andcorresponding to a plurality of layers of the protocol stackrespectively are compressed using at least one of a plurality ofcompression schemes. Compression scheme information is gathered for eachof the plurality of layers. Concatenated compression scheme informationindicating how the plurality of header information are each compressedis obtained by concatenating the compression scheme information for eachof the plurality of layers. Identification information is generated thatrepresents the concatenated compression scheme information using asingle unique expression or number.

An aspect of the invention may be further achieved by a headerdecompression method implemented upon reception of a protocol data uniton a multilayer protocol stack. According to this method, identificationinformation representing concatenated compression scheme informationusing a single unique expression or number is acquired. The concatenatedcompression scheme information: (1) indicates how a plurality of headerinformation that are included in the protocol data unit and thatcorrespond respectively to a plurality of layers of the multilayerprotocol stack are each compressed and (2) is obtained by gathering andconcatenating compression scheme information for each of the pluralityof layers. Each of the plurality of header information is decompressedbased on the identification information acquired by the acquisitionsection using at least one of a plurality of compression schemes.

An object of the invention may be achieved by a multilayer headercompression apparatus having an obtainment section for obtaining fromthe same protocol data unit header information of a lower protocol layerof a plurality of protocol layers and header information of a higherprotocol layer of the plurality of protocol layers. A compressionsection compresses the obtained header information of the lower protocollayer with a compression scheme for the lower protocol layer and theobtained header information of the higher protocol layer with acompression scheme for the higher protocol layer. A header informationconcatenation section concatenates the compressed header information ofthe lower and higher protocol layers to obtain compressed multilayerheader information. A gathering section gathers from the lower andhigher protocol layers scheme information indicating the compressionscheme for the lower protocol layer and scheme information indicatingthe compression scheme for the higher protocol layer. A schemeintormation concatenation section concatenates the gathered schemeinformation from the lower and higher protocol layers to obtain acombination of the scheme information. A generation section generatesidentification information for the obtained combination of the schemeinformation by representing the obtained combination of the schemeinformation using a single unique expression or number. An additionsection adds the generated identification information to the obtained,compressed multilayer header information.

Additionally, an object of the invention may be achieved by a multilayerheader compression method that obtains from the same protocol data unitheader information of a lower protocol layer of a plurality of protocollayers and header information of a higher protocol layer of theplurality of protocol layers. The obtained header information of thelower protocol layer is compressed with a compression scheme for thelower protocol layer and the obtained header information of the higherprotocol layer is compressed with a compression scheme for the higherprotocol layer. The compressed header information of the lower andhigher protocol layers is concatenated to obtain compressed multilayerheader information. Scheme information is gathered from the lower andhigher protocol layers indicating the compression schemes for the lowerand higher protocol layers. The gathered scheme information from thelower and higher protocol layers is concatenated to obtain a combinationof the scheme information, and identification information for theobtained combination of the scheme information is generated byrepresenting the obtained combination of the scheme information using asingle unique expression or number. The generated identificationinformation is added to the obtained, compressed multilayer headerinformation.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates an apparatus for compressing a multilayer protocolstack header according to an embodiment of the present invention and isa block diagram showing an overall structure of a transcoder used forcompressing header information of the multilayer protocol stack;

FIG. 2 illustrates a network system configuration for header informationcompression according to the embodiment of the present invention andillustrates a network system configuration and a network node overallstructure in implementing multilayer protocol stack header informationcompression;

FIG. 3 illustrates a header compression session period according to theembodiment of the present invention, shows the structure and elements ofthe session period and illustrates a detailed structure showing howcompression is applied for different types of data exchange;

FIG. 4 illustrates a PDU including compressed header informationaccording to the embodiment of the present invention and shows adetailed overview about how header information compression isimplemented;

FIG. 5 illustrates a compressed header stream format according to theembodiment of the present invention and shows a typical format of acompressed header for a single protocol stack; and

FIG. 6 illustrates compressed header information for fragmented PDUsaccording to the embodiment of the present invention and shows adetailed overview about how compression of header information can beapplied when fragmentation is applicable.

BEST MODE FOR CARRYING OUT THE INVENTION

With reference now to the attached drawings, an embodiment of thepresent invention will be explained in detail below.

In the following description, for the purpose of explanation of thepresent invention, specific numbers, times, structures and otherparameters are set forth in order to provide a thorough understanding ofthe present invention. Following paragraphs give an exemplification ofhow the invention can be implemented. However, without such details, itwill be apparent to anyone skilled in the art that the present inventioncan be practiced.

This section will disclose an apparatus for controlling networkresources at Layer 2 of the OSI (Open System Interconnection) modelapplied to a wireless network. To help understand the present inventioneasier, the following definitions will be used:

Protocol data unit (PDU) . . . A single of data packet made up of headerinformation and payload for successful delivery from source todestination.

Data stream . . . A group of protocol data units delivered at differenttime points and having similar destination and source identificationover a finite period of time.

Encoding section . . . Functional module or device which compresses aselected part of protocol data unit.

Decoding section . . . Functional module or device which decompresses aselected part of protocol data unit.

Session context ID manager . . . Functional module or device whichcarries out a header compression session of data packet exchange betweentwo sets of protocol stack control entities each of which controls atleast one protocol stack.

Packet stream registration section . . . Functional module or deviceused to register and identify a data packet stream made up of one ormore data packets for connection type or connectionless type networkrequiring compression or decompression.

Protocol layer interface (I/F) . . . Functional module or device used toidentify a data packet stream made up of data packets with headerinformation from protocol stacks in both compressed and uncompressedform.

Layer management entity interface (I/F) . . . Functional module ordevice used to control compression and decompression sessions requiredby the layer management entity usually used in coordinating controlactivities and mechanism of protocol stack layers.

The apparatus in FIG. 1 shows a multilayer protocol stack protocol dataunit header information transcoder according to an embodiment of thepresent invention. A multilayer header transcoder 102 is a deviceincluding methods and submodules for encoding and decoding headerinformation and coordinating and controlling compression anddecompression processes of header information. When a data header needsto be compressed or decompressed for a data packet which is generated orreceived by a protocol layer, such compression and decompression areperformed at the multilayer header transcoder 102. Header information ofthe data packet is exchanged between the multilayer header transcoder102 and each protocol layer stack through a data bus indicated byreference numeral 103. To support compression of header information, aPDU is sent to the multilayer header transcoder 102 through an interface116, and the existing protocol stack need not be modified.

This multilayer header transcoder 102 is designed to be used for alegacy multilayer protocol stack 101 or a new protocol stack layer so asto compress and decompress header information of a data packet unitwhich is exchanged between two network nodes or components. Since thenew protocol stack functions so as to eliminate redundancy andirrelevance of the header information, the multilayer header transcoder102 can send a data stream packet to the destination with less overhead.This improves the throughput at the transmitter end.

Control of packet data units transfer between different protocol stacklayers is coordinated by a protocol layer I/F 104. Information used toidentify the protocol stack layers to be compressed depends on theinformation provided by a layer management entity I/F 109. Thisinformation passes through a single path indicated by reference numeral114. The information handed over by the layer management entity I/F 109is used to be presented to the protocol layer I/F 104, a session contextID manager 112 and a packet stream registration section 105. Here, thedata field of the header information is compressed or decompressed andthe protocol stack layer compressed header information is applied. Datapackets which pass through different protocol layers upward and downwardare monitored by the protocol layer I/F 104, and only those requiringcompression or decompression of header information from the data packetstream are extracted, redirected through a bidirectional single path 108and sent to an encoding section 106 or a decoding section 107.

Before being redirected, the data packet information is interpreted andthe header information is parsed by the packet stream registrationsection 105. Data packets which need to be compressed are compressedbased on information specified by a protocol layer management entity111. Data packets which have passed through different protocol layersand include a compressed or uncompressed header need to be processed,and they are directed to the encoding section 106 or decoding section107. The path for the PDUs for compression and decompression in thetranscoder is the bidirectional path 108 which traverses through thepacket stream registration section 105.

The interface indicated by reference numeral 116 is also known as a dataplane interface and is defined as header information protocol data unitheader information between the multilayer header transcoder 102 and amultilayer protocol stack 101. The interface 116 is used as the dataplane to compress and decompress header information. An interfaceindicated by reference numeral 115 functions as an interface for controlinformation to enable compression and decompression of headerinformation. The interface 115 is known as a control plane interface toallow the protocol layer management entity 111 to control and coordinatecompression of header information.

The data plane interface 116 is made up of two types of data flows. Thatis, (i) an uncompressed PDU stream and (ii) a compressed PDU stream.Uncompressed and compressed PDU streams for the protocol layer arepassed through the protocol layer I/F 104, input to the multilayerheader transcoder 102 and then redirected to a protocol layer.Uncompressed data streams requiring header compression will becompressed according to the encoding section 106 and other controlprocesses provided by the multilayer header transcoder 102. The protocollayer I/F 104 is the first stage of compressed PDU data streammonitoring and detection carried out before the compressed PDUs reachedthe designated protocol stack layer.

The control plane interface 115 is made up of two types of data flows.That is, (i) a control information flow from the protocol layermanagement entity 111 and (ii) result information from the multilayerheader transcoder 102. The control information from the protocol layermanagement entity 111 can follow the following format:

Structure Transcoder_Control { number of protocol stacks; /* number ofprotocol stack for header compression */ stack description; /* protocolstack description or representatives thereof */ }

In order to perform a new stream session for the data packets withcompressed header information, the encoding section 106 executes theencoding process. The packet stream registration section 105 isrequested to transmit an internal signal so that a unique session usedas part of compression of header information by the session context IDmanager 112 can be used through the single path indicated by referencenumeral 108. In the decoding process, the packet stream registrationsection 105 redirects the data packets intercepted at the protocol layerI/F 104 and their header information to be decompressed are passed tothe decoding section. All the compressed and uncompressed datainformation extracted from the multilayer protocol stack 101 andprocessed by the encoding section 106 and decoding section 107 arereturned to each protocol layer for processing by each protocol layer.The process of acquiring packet header information of each data packetfrom the protocol layer and the process of returning this informationare performed by the protocol layer I/F 104.

FIG. 2 shows a configuration example of the multilayer header transcoder102 according to an embodiment of the present invention (in FIG. 2,however, described as “multilayer header transcoder 202”) which can beimplemented in a general network configuration. In order for end-to-endprotocol data units including compressed header information to beexchanged between any two nodes in the network, a source node 203, adestination node 208 and an intermediate node 207 are required to beable to perform short header information processing indicated byreference numeral 201. Before the protocol data unit reaches thedestination node 208 from the source node 203, the protocol data unitneeds to pass through a plurality of intermediate nodes 207 providedwith short header information processing capabilities. A transmissionmedium 209 of the protocol data unit may be a wireless medium or wiredmedium. The short header information processing apparatus 201 capable ofshort header information processing is constructed of a generic protocolstack and a protocol layer management entity which can be connected to amultilayer header transcoder 202. The interface between the protocollayer and the multilayer header transcoder 202 is a data plane interface204, where header information is retrieved and inserted into thecorresponding protocol stack layer. The protocol stack layer requiresheader compression and decompression. The interface provided for theprotocol layer management entity of the generic network node is acontrol plane interface 205.

FIG. 3 shows the embodiment of the present invention when a session iscarried out on a compressed header exchanged between two network nodes.The execution of the session is determined by the session context IDmanager 112. This is also based on control information which is receivedfrom the protocol layer management entity 111 through the control planeinterface indicted by reference numeral 115. A session period 301 isgenerated by sending a session frame 311 to a destination node toindicate the beginning of a protocol data unit including a compressedheader. This session frame, that is, an indicator can be piggybackedonto an existing protocol data unit. The session frame is generated byonly a transcoder before the protocol layer which is the bottom layer ofthe multilayer protocol stack using compressed header information in theprotocol data unit. Subsequent payloads from upper layers can be easilysent through a layer which gives a compressed header to the protocoldata unit.

After the beginning of the session period 301 is indicated, a headerInfo Sync (information synchronization) 304 is sent to indicatecapability. This capability includes types of compression which can beexecuted within the session period. It also includes types ofcompression carried out on the address field, control field and othersof a PDU. This capability field can be used for future extensions ofheader information embedded in the PDU protocol stack to use a differentcontrol mechanism in the future. Furthermore, the header Info Sync 304can also be piggybacked onto the existing protocol data unit of theprotocol stack from which the multilayer protocol layer headerinformation starts. All data PDUs and PDU fragments are separated byinter-frame intervals 309. The structure of a session frame (Sess_Frame)311 is as follows:

Structure Sess_Frame { Sess_Frame control data type; /* bit format toindicate Sess_Frame */ frame period; /* session period in unit of secondor other representatives */ capability information ; /* compressioncapability types */ }

The format of the header Info Sync 304 includes the following: That is,information, the number of TDM frames 303, fragmented TDM frame group,the number of bytes or period between the header Info Re-Syncs(information resynchronization) 306, number of protocol data units thatcan be fragmented, the period expressed by the number of bytes or timebetween Sess_Frames 311, session context ID group which is a uniquenumber generated and managed by the session context ID manager andcontext stream field. A Sess_Frame (session frame) indicated byreference numeral 310 is used to mark the end time of the sessionperiod. It also indicates the beginning of the next session period 301.The Sess_Frame formats for the beginning and end of the session periodscan be similar to or different from each other. A format example of theheader Info Sync 304 is expressed in a structure format as follows:

Structure Header Info Sync (information synchronization) { header InfoSync control data type; /* bit format to indicate header Info Sync frame*/ number of TDM frames; /* number of TDM frames between two Sess Frames*/ groups of fragmented TDM; /* number of allowable fragmented TDMframes within session period */ header Info Re-Sync (informationresynchronization) interval; /* minimum duration measured in seconds orbytes between header Info Re-Syns */ groups of fragmented PDU; /* numberof allowable fragmented PDU frames within session period */ sessionperiod; /* total session period */ session context ID field; /*plurality of unique IDs for data delivery to different destination nodes*/ context stream; /* header information of multilayers of protocolstack */ }

After the header Info Sync 304 is transmitted, data may be exchangedbetween a source node and various destination nodes. Data transmissionmay have the format of the TDM frame 303 and data 305 of a PDUcontaining compressed header information. A frame period between any twoInfo Re-Syncs 306 or a period between one frame of the header InfoRe-Sync 306 and header Info Sync 304 is named “subsession period 302.”When the header information is damaged seriously due to a loss of data,the error can be contained within a short period of time by thesubsession period. Also, this assists in implementation of effectivecompression. The header Info Re-Sync 306 is constructed of uniquecontrol data types to indicate the header Info Re-Sync 306 and some ofall other fields of the header Info Sync 304.

A TDM frame 303 or a normal PDU with compressed header can be fragmentedinto a fragmented TDM frame 313 and a fragmented PDU 314, respectively.The TDM frame 303 is many PDU payloads concatenated without beingseparated by inter-frame intervals and with one compressed header. Theheaders of the data 305 and PDU 312 include subsession subfield ID andsequence control. The following format is an example of the headerformat indicated as ch316:

ch { ch control data type; /* bit format to indicate beginning of TDM orPDU frame */ subsession subfield ID; /* address field to indicate finaldestination node transmitted within session period */ sequence controlfields; /* control fields to control sequence of TDM and PDU for datastreams to specific destination */ }

In the fragmented TDM frame 313, two types of fragmented PDU headerinformation to indicate the beginning of a fragmented TDM session andsubsequent TDM session. That is, (i) Th 307 and (ii) Fh 308. Thefollowing is an example of header format about Fh 308 and Th 307:

Th { Th control data type; /* bit format to indicate beginning of Th PDU*/ subsession subfield ID; /* address field to indicate finaldestination node transmitted within session period */ sequence controlfields; /* control fields to control sequence of TDM and PDU for datastreams to specific destination */ number of fragments; /* number oftrailing fragmented Fh header PDUs */ } fh { fh control data type; /*bit format to indicate beginning of fh PDU */ sub-fragment sequencenumber; /* fragment sequence number */ }

In the case of the fragmented PDU 314, the first fragmented PDU includesa header Ph 315 followed by the trailing fragments with fh header. Theheader format of the Ph 315 is as follows:

Ph { Ph control data type; /* bit format to indicate beginning of Ph PDU*/ subsession subfield ID; /* address field to indicate finaldestination node transmitted within session period */ sequence controlfields; /* control fields to control sequence of TDM and PDU for datastreams to specific destination */ number of fragments; /* number oftrailing fragmented Ph header PDUs */ }

In order to compress header information suitable for multilevel protocoldata layers, FIG. 4 shows a basic method for generating a uniquerepresentations by the session context ID manager 112 of FIG. 1. Anexample of generating a session context ID is shown in FIG. 4. Here, acase where the header is compressed in three levels of protocol stack,that is, the Mth, (M+1)th and (M+2)th layers will be explained as anexample. In the following explanations, the Mth layer is called “layerM”, the (M+1) th layer is called “layer M+1” and the (M+2) th layer iscalled “layer M+2.”

The protocol layer (layer M+2) which is the top layer has a payload 404.The header information for the protocol stack layer, that is, the bottomlayer in this case is the layer M. The header information of threelayers, that is, Mth layer, (M+1)th layer and (M+2)th layer in thisexample is registered by concatenating the header information of the Mthlayer, (M+1)th layer and (M+2)th layer. Therefore, the protocol dataunit from the layer M extracted to the multilayer header transcoder 102side through the protocol layer I/F 104 has a format in which the headerinformation of the layer M+2, header information of the layer M+1 andheader information of the layer M are concatenated to the payload of thelayer M+2.

The header information of the multilayer protocol stack 101 in theprotocol data unit having the above described format is compressed bythe encoding section 106. More specifically, compression processing isapplied to the header information of the layer M+2, header informationof the layer M+1 and header information of the layer M, respectively.The header information of the respective layers subjected to compressionprocessing is concatenated, and thus a compressed header 405 isgenerated.

Furthermore, information on a scheme for compressing header information(e.g., address information of the bottom layer of the multilayerprotocol stack being used, how header information is compressed for eachlayer, and the like) is gathered into a concatenating process sectionindicated by reference numeral 402. Then, the concatenating processsection 402 executes the concatenating process and the headerinformation after the concatenating process finally becomes a sessioncontext ID 401 which represents the header information compressionscheme using a single unique expression or number. The session contextID 401 generated is inserted into a section 403 before the compressedheader 405. Then, the compressed protocol data unit and session contextID 401 generated in this way are returned to the multilayer protocolstack 101 side through the protocol layer I/F 104. Then, the compressedprotocol data unit is sent/received between network nodes together withthe session context ID 401 according to the communication sessionexplained with reference to FIG. 3.

That is, at the network node which has received a compressed protocoldata unit, an index is added using the session context ID 401 acquiredduring the session period during which the protocol data unit isreceived, and a context stream 406 with the header information of thelayer M, layer M+1 and layer M+2 is thereby formed. In this way, thecompressed header 405 is decompressed. The context stream 406 forms oneof the fields of the header Info Sync format.

Incidentally, when the multilayer header transcoder 102 decompresses aprotocol data unit with the compressed header 405 and payload 404, theprotocol data unit is extracted to the multilayer header transcoder 102side through the protocol layer I/F 104, whereas the session context ID401 corresponding to the protocol data unit is acquired by the sessioncontext ID manager 112 through the protocol layer I/F 104. Then, thedecoding section 107 decompresses the compressed header 405 using theacquired session context ID 401. The decompressed protocol data unit isreturned to the multilayer protocol stack 101 side through the protocollayer I/F 104.

Here, the session context ID 401 to be generated will be explained infurther detail. However, for clarity of explanation, suppose a case withthree level protocol stacks, each protocol layer having five headercompression schemes (that is, five types of session context). Expressingfive sets of header compression schemes requires three bits. If anemphasis is laid on compression at a single layer as the prior art,3×3=9 bits must be used. On the contrary, when the session context ID401 is used, the session context ID 401 alone can represent multilayerheader information compression schemes, and therefore 5³=125combinations can be represented using only 6 bits.

Furthermore, the session context ID manager 112 detects differencesamong header information included in a plurality of protocol data units(e.g., two consecutive protocol data units) belonging to a certain PDUstream to be sent. As a result of this detection, when it is detectedthat there is no difference among header information, the sessioncontext ID 401 corresponding to the subsequent protocol data unit out ofthe plurality of protocol data units becomes the one corresponding tothe preceding protocol data unit, and therefore it is also possible tocontrol so as to prevent its transmission.

The differences among the header information may be detected eitherbefore or after the session context ID 401 is generated. Especially inthe case of before the session context ID 401 is generated, thedifferences need to be detected for each layer of the multilayerprotocol stack, but the range of the differences to be detected becomessmaller, and the probability that the header information may be decidedto be the same will increase. Thus, when it is detected that there is noheader information difference among a plurality of protocol data units,it is possible to omit transmission of the session context ID 401corresponding to the subsequent protocol data unit, and therefore it ispossible to further reduce the time and bandwidth used for acommunication session.

FIG. 5 shows how the header information of a specific protocol layer isused to form the compression (Comp) header 405 in the present invention.The header compression format indicated as the Comp header 405 is asfollows:

Structure Comp header { number of layers; /* number of protocol layersbeing compressed */ layer with change; /* to indicate protocol layerwith header information change */ compressed head stream; /* changes incompressed header of protocol layers */ }

The header information of the PDU used to exchange data with anotherlayer entity of the same protocol layer within each protocol layer hasthree basic fields. That is, (i) address field, (ii) packet controlfield and (iii) sequence control field. The address field is convertedto an address ID 502 which can be one of the following data field types.That is, (i) session context ID 401, (ii) full address field in theaddress field at the initial header 501 of a packet data unit, (iii)null field indicating that the address field is indicated by an earlierPDU. The packet control field at the initial header 501 is converted toa Change_field 503, and the change is indicated in the field. When thereis no change based on the previous PDU, a null value is used to indicatethat there is no change. When there is some change, a different value isused to indicate the change in the packet control field. The sequencecontrol field at the initial header 501 is converted to a Delta_field504, and the change is based on the difference in values based on thelast transmitted PDU. The operator indicated by reference numeral 506 isused to concatenate the address ID 502, Change_field 503 and Delta_field504 to form a compressed header stream 505.

When a data packet is delivered between two network nodes where there isno intermediate node in-between, the protocol layer at the bottom layerof the multilayer protocol stack can be fragmented. FIG. 6 shows theembodiment showing how to save the bit rate and how the header iscompressed to improve the throughput. A data payload 601 is fragmentedinto more than one fragmented PDU 602. Fragmentation is often applied toimprove the success rate of transmission with wireless media where atransmission medium is shared and almost no coordination is made amongtransmission stations that share the transmission medium. Thesefragmented PDUs 602 each usually have duplicated header information. Toenable header information of a single protocol layer to be compressed,the first fragmented PDU in this process includes a Ph header 603 andthe trailing fragmented PDUs include an fh header 604. The finalfragmented section 605 includes the same field as the fh header.

Thus, according to this embodiment, redundancy and irrelevance of thedata packet header information are eliminated and the payload throughputin different layers of the protocol stack improves. In short, thepresent invention improves the throughput and reduces consumption of theoverhead bit rate which is an expensive commodity when transmission iscarried out using wireless media. The present invention provides anapparatus and method that enables the multilayer protocol stack to useheader compression. This makes it possible to reduce the overalloverhead bit rate and improve the overall throughput for a network node.Furthermore, according to this embodiment, the legacy protocol stack andnetwork node can use header compression without modifying the controlmechanism of the existing protocol stack. In the world of the IPnetwork, it is extremely difficult to exclude an existing protocol andsystem and introduce a new system, which should be avoided, andtherefore the possibility of adding-on a header compression functionwithout having to re-implementing a protocol is a great merit of thepresent invention.

This application is based on the Japanese Patent ApplicationNo.2002-234043 filed on Aug. 9, 2002 and the Japanese Patent ApplicationNo.2003-289974 filed on Aug. 8, 2003, the entire contents of which areexpressly incorporated by reference herein.

Industrial Applicability

The header compression/decompression apparatus and headercompression/decompression method according to the present invention hasan effect of improving the overall throughput of the multilayer protocolstack at network nodes and is useful in a communication system thatsupports a multilayer protocol stack.

1. A multilayer header compression apparatus comprising: an obtainmentsection that obtains from the same protocol data unit header informationof a lower protocol layer of a plurality of protocol layers, and headerinformation of a higher protocol layer of the plurality of protocollayers; a compression section that compresses the obtained headerinformation of the lower protocol layer with a compression scheme forthe lower protocol layer, and the obtained header information of thehigher protocol layer with a compression scheme for the higher protocollayer; a header information concatenation section that concatenates thecompressed header information of the lower and higher protocol layers toobtain compressed multilayer header information; a gathering sectionthat gathers from the lower and higher protocol layers schemeinformation indicating the compression scheme for the lower protocollayer, and scheme information indicating the compression scheme for thehigher protocol layer; a scheme information concatenation section thatconcatenates the gathered scheme information from the lower and higherprotocol layers to obtain a combination of the scheme information; ageneration section that generates identification information for theobtained combination of the scheme information by representing theobtained combination of the scheme information using a single uniqueexpression or number; and an addition section that adds the generatedidentification information to the obtained, compressed multilayer headerinformation.
 2. The multilayer header compression apparatus according toclaim 1, wherein: said header information concatenation section arrangesthe compressed header information in a predetermined order and thenconcatenates the arranged, compressed header information, and saidscheme information concatenating section arranges the gathered schemeinformation in an order corresponding to the order in which thecompressed header information are arranged, and then concatenates thearranged, gathered scheme information.
 3. The multilayer headercompression apparatus according to claim 1, further comprising: acontrol section that performs control such that, when there is nodifference between a plurality of header information respectivelyincluded in a plurality of protocol data units belonging to the samestream, transmission of identification information generated for a lateprotocol data unit of the plurality of protocol data units is avoided.4. The multilayer header compression apparatus according to claim 3,further comprising: a detection section that detects whether there issaid difference before identification information is generated for saidlater protocol data unit.
 5. The multilayer header compression apparatusaccording to claim 3, further comprising: a detection section thatdetects whether there is said difference after identificationinformation is generated for said later protocol data unit.
 6. Themultilayer header compression apparatus according to claim 1, furthercomprising: a data plane interface that extracts from a stream passingthrough a multilayer protocol stack an uncompressed protocol data unitincluding at least header information of the lower protocol layer,header information of the higher protocol layer, and a payload, andreturning to the stream passing through the multilayer protocol stack acompressed protocol data unit including at least the generatedidentification information, the obtained, compressed multilayer headerinformation, and the payload.
 7. A multilayer header compression methodcomprising: obtaining from the same protocol data unit headerinformation of a lower protocol layer of a plurality of protocol layers,and header information of a higher protocol layer of the plurality ofprotocol layers; compressing the obtained header information of thelower protocol layer with a compression scheme for the lower protocollayer, and the obtained header information of the higher protocol layerwith a compression scheme for the higher protocol layer; concatenatingthe compressed header information of the lower and higher protocollayers to obtain compressed multilayer header information; gatheringfrom the lower and higher protocol layers scheme information indicatingthe compression scheme for the lower protocol layer, and schemeinformation indicating the compression scheme for the higher protocollayer; concatenating the gathered scheme information from the lower andhigher protocol layers to obtain a combination of the schemeinformation; generating identification information for the obtainedcombination of the scheme information by representing the obtainedcombination of the scheme information using a single unique expressionor number; and adding the generated identification information to theobtained, compressed multilayer header information.